package com.example.lenovo.android_;

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.btn_dialog1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showSimpleDialog();
            }
            /*第一种简单对话框*/
            private void showSimpleDialog() {
                new AlertDialog.Builder(MainActivity.this)
                        .setIcon(R.mipmap.ic_launcher)
                        .setTitle("提示")
                        .setMessage("今天是你的生日")
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                Toast.makeText(MainActivity.this,"谢谢",
                                        Toast.LENGTH_LONG).show();
                            }
                        })
                        .create()
                        .show();
            }
        });
        /*第二种选择对话框*/
        findViewById(R.id.btn_dialog2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showSelectDialog();
            }

            private void showSelectDialog() {
                new AlertDialog.Builder(MainActivity.this)
                        .setIcon(R.mipmap.ic_launcher)
                        .setTitle("提示")
                        .setMessage("今天是你的生日")
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                /*点击事件*/
                                Toast.makeText(MainActivity.this,"谢谢",
                                        Toast.LENGTH_LONG).show();
                            }
                        })
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                Toast.makeText(MainActivity.this,"知道了",
                                        Toast.LENGTH_LONG).show();
                            }
                        })
                        .setNeutralButton("无所谓", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                Toast.makeText(MainActivity.this,"好",
                                        Toast.LENGTH_LONG).show();
                            }
                        })
                        .create()
                        .show();
            }
        });
        /*第三种单选对话框*/
        findViewById(R.id.btn_dialog3).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showSingleDialog();
            }
            private void showSingleDialog() {
                final String[] cities = {"北京","深圳","上海","广州","珠海"};
                new AlertDialog.Builder(MainActivity.this)
                        .setIcon(R.mipmap.ic_launcher)
                        .setTitle("请选择你的城市")
                        .setItems(cities, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                Toast.makeText(MainActivity.this,
                                        "您居住在"+cities[i],Toast.LENGTH_LONG).show();
                            }
                        })
                        .create()
                        .show();
            }
        });

        /*第三种单选对话框有圈圈*/
        findViewById(R.id.btn_dialog3_1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showSingleDialogquan();
            }

            private void showSingleDialogquan() {
                final String[] xingbie = {"男","女","不知道"};
                new AlertDialog.Builder(MainActivity.this)
                        .setIcon(R.mipmap.ic_launcher)
                        .setTitle("请选择你的性别")
                        .setSingleChoiceItems(xingbie,-1,
                                new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                Toast.makeText(MainActivity.this,
                                        "您的性别是"+xingbie[i],Toast.LENGTH_LONG).show();
                            }
                        })
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                /*点击事件*/
                                Toast.makeText(MainActivity.this,"谢谢",
                                        Toast.LENGTH_LONG).show();
                            }
                        })
                        .create()
                        .show();
            }
        });

        /*第四种多选对话框*/
        findViewById(R.id.btn_dialog4).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showMultypleDialog();
            }
            private void showMultypleDialog() {
                final String[] aihao = {"篮球","足球","睡觉","听音乐","写代码","吃好吃的"};
                final boolean isChecked[] = new boolean[6];
                new AlertDialog.Builder(MainActivity.this)
                        .setIcon(R.mipmap.ic_launcher)
                        .setTitle("请选择你的爱好")
                        .setMultiChoiceItems(aihao, null, new DialogInterface.OnMultiChoiceClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i, boolean b) {
                                /*保存每次点击后的值*/
                                isChecked[i]=b;
                                if(b){
                                    Toast.makeText(MainActivity.this, "您添加了"+aihao[i],
                                            Toast.LENGTH_SHORT).show();
                                }else{
                                Toast.makeText(MainActivity.this, "您取消了"+aihao[i],
                                        Toast.LENGTH_SHORT).show();
                                }
                            }
                        })
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                /*点击事件*/
                                StringBuffer buffer = new StringBuffer();
                              for(int j=0;j<isChecked.length;j++){
                                  if(isChecked[j]){
                                      buffer.append(aihao[j]);
                                  }
                              }
                                Toast.makeText(MainActivity.this, "您的爱好有："+buffer,
                                        Toast.LENGTH_SHORT).show();
                            }
                        })
                        .create()
                        .show();
            }
        });

        /*第五种自定义对话框*/
        findViewById(R.id.btn_dialog5).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showUserdefinedDialog();
            }
            private void showUserdefinedDialog() {
                 /*定义一个输入框*/
                final EditText editText1 = new EditText(MainActivity.this);
                final EditText editText2 = new EditText(MainActivity.this);

                View view = LayoutInflater.from(MainActivity.this)
                        .inflate(R.layout.dialog_input,null,false);

                final EditText nameEdit = view.findViewById(R.id.edt_name);
                final EditText ageEdit = view.findViewById(R.id.edt_age);

                new AlertDialog.Builder(MainActivity.this)
                        .setIcon(R.mipmap.ic_launcher)
                        .setTitle("请输入你的姓名和年龄")
                        .setView(view)
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                /*点击事件*/
                                String name = nameEdit.getText().toString();
                                int age = Integer.parseInt(ageEdit.getText().toString());
                                Toast.makeText(MainActivity.this,
                                        "您的姓名是"+name+"年龄是"+age,
                                        Toast.LENGTH_SHORT).show();
                            }
                        })
                        .create()
                        .show();
            }
        });

    }
}
